package com.server.mapper;

import com.server.Example.TypesExample;
import com.server.entity.Types;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * The interface Types mapper.
 */
public interface TypesMapper {
    /**
     * Count by example long.
     *
     * @param example the example
     * @return the long
     */
    long countByExample(TypesExample example);

    /**
     * Delete by example int.
     *
     * @param example the example
     * @return the int
     */
    int deleteByExample(TypesExample example);

    /**
     * Delete by primary key int.
     *
     * @param typeId the type id
     * @return the int
     */
    int deleteByPrimaryKey(Integer typeId);

    /**
     * Insert int.
     *
     * @param record the record
     * @return the int
     */
    int insert(Types record);

    /**
     * Insert selective int.
     *
     * @param record the record
     * @return the int
     */
    int insertSelective(Types record);

    /**
     * Select by example list.
     *
     * @param example the example
     * @return the list
     */
    List<Types> selectByExample(TypesExample example);

    /**
     * Select by primary key types.
     *
     * @param typeId the type id
     * @return the types
     */
    Types selectByPrimaryKey(Integer typeId);

    /**
     * Update by example selective int.
     *
     * @param record  the record
     * @param example the example
     * @return the int
     */
    int updateByExampleSelective(@Param("record") Types record, @Param("example") TypesExample example);

    /**
     * Update by example int.
     *
     * @param record  the record
     * @param example the example
     * @return the int
     */
    int updateByExample(@Param("record") Types record, @Param("example") TypesExample example);

    /**
     * Update by primary key selective int.
     *
     * @param record the record
     * @return the int
     */
    int updateByPrimaryKeySelective(Types record);

    /**
     * Update by primary key int.
     *
     * @param record the record
     * @return the int
     */
    int updateByPrimaryKey(Types record);
}